function JumpListCollection_Owner(AObj: TJumpListCollection): TPersistent; stdcall;
begin
  Result :=  AObj.Owner;
end;

function JumpListCollection_Add(AObj: TJumpListCollection): TCollectionItem; stdcall;
begin
  Result :=  AObj.Add;
end;

procedure JumpListCollection_Assign(AObj: TJumpListCollection; Source: TPersistent); stdcall;
begin
  AObj.Assign(Source);
end;

procedure JumpListCollection_BeginUpdate(AObj: TJumpListCollection); stdcall;
begin
  AObj.BeginUpdate;
end;

procedure JumpListCollection_Clear(AObj: TJumpListCollection); stdcall;
begin
  AObj.Clear;
end;

procedure JumpListCollection_ClearAndResetID(AObj: TJumpListCollection); stdcall;
begin
  AObj.ClearAndResetID;
end;

procedure JumpListCollection_Delete(AObj: TJumpListCollection; Index: Integer); stdcall;
begin
  AObj.Delete(Index);
end;

procedure JumpListCollection_EndUpdate(AObj: TJumpListCollection); stdcall;
begin
  AObj.EndUpdate;
end;

function JumpListCollection_FindItemID(AObj: TJumpListCollection; ID: Integer): TCollectionItem; stdcall;
begin
  Result :=  AObj.FindItemID(ID);
end;

function JumpListCollection_GetNamePath(AObj: TJumpListCollection): PChar; stdcall;
begin
  Result :=  PChar(AObj.GetNamePath);
end;

function JumpListCollection_Insert(AObj: TJumpListCollection; Index: Integer): TCollectionItem; stdcall;
begin
  Result :=  AObj.Insert(Index);
end;

procedure JumpListCollection_DisposeOf(AObj: TJumpListCollection); stdcall;
begin
  AObj.DisposeOf;
end;

function JumpListCollection_ClassType(AObj: TJumpListCollection): TClass; stdcall;
begin
  Result :=  AObj.ClassType;
end;

function JumpListCollection_ClassName(AObj: TJumpListCollection): PChar; stdcall;
begin
  Result :=  PChar(AObj.ClassName);
end;

function JumpListCollection_InstanceSize(AObj: TJumpListCollection): Integer; stdcall;
begin
  Result :=  AObj.InstanceSize;
end;

function JumpListCollection_InheritsFrom(AObj: TJumpListCollection; AClass: TClass): LongBool; stdcall;
begin
  Result :=  AObj.InheritsFrom(AClass);
end;

function JumpListCollection_Equals(AObj: TJumpListCollection; Obj: TObject): LongBool; stdcall;
begin
  Result :=  AObj.Equals(Obj);
end;

function JumpListCollection_GetHashCode(AObj: TJumpListCollection): Integer; stdcall;
begin
  Result :=  AObj.GetHashCode;
end;

function JumpListCollection_ToString(AObj: TJumpListCollection): PChar; stdcall;
begin
  Result :=  PChar(AObj.ToString);
end;

procedure JumpListCollection_SetOnChange(AObj: TJumpListCollection; AEventId: NativeUInt); stdcall;
begin
  if AEventId = 0 then
  begin
    AObj.OnChange := nil;
    TEventClass.Remove(AObj, @TEventClass.OnChange);
    Exit;
  end;
  AObj.OnChange := TEventClass.OnChange;
  TEventClass.Add(AObj, @TEventClass.OnChange, AEventId);
end;

function JumpListCollection_GetCapacity(AObj: TJumpListCollection): Integer; stdcall;
begin
  Result :=  AObj.Capacity;
end;

procedure JumpListCollection_SetCapacity(AObj: TJumpListCollection; AValue: Integer); stdcall;
begin
  AObj.Capacity := AValue;
end;

function JumpListCollection_GetCount(AObj: TJumpListCollection): Integer; stdcall;
begin
  Result :=  AObj.Count;
end;

function JumpListCollection_GetItems(AObj: TJumpListCollection; Index: Integer): TJumpListItem; stdcall;
begin
  Result :=  AObj.Items[Index];
end;

procedure JumpListCollection_SetItems(AObj: TJumpListCollection; Index: Integer; AValue: TJumpListItem); stdcall;
begin
  AObj.Items[Index] := AValue;
end;

function JumpListCollection_StaticClassType: TClass; stdcall;
begin
  Result := TJumpListCollection;
end;

exports
  JumpListCollection_Owner,
  JumpListCollection_Add,
  JumpListCollection_Assign,
  JumpListCollection_BeginUpdate,
  JumpListCollection_Clear,
  JumpListCollection_ClearAndResetID,
  JumpListCollection_Delete,
  JumpListCollection_EndUpdate,
  JumpListCollection_FindItemID,
  JumpListCollection_GetNamePath,
  JumpListCollection_Insert,
  JumpListCollection_DisposeOf,
  JumpListCollection_ClassType,
  JumpListCollection_ClassName,
  JumpListCollection_InstanceSize,
  JumpListCollection_InheritsFrom,
  JumpListCollection_Equals,
  JumpListCollection_GetHashCode,
  JumpListCollection_ToString,
  JumpListCollection_SetOnChange,
  JumpListCollection_GetCapacity,
  JumpListCollection_SetCapacity,
  JumpListCollection_GetCount,
  JumpListCollection_GetItems,
  JumpListCollection_SetItems,
  JumpListCollection_StaticClassType;

